home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / lib / openoffice / program / open-url < prev    next >
Text File  |  2008-10-15  |  3KB  |  135 lines

  1. #!/bin/sh
  2.  
  3. # tries to locate the executable specified 
  4. # as first parameter in the user's path.
  5. which() {
  6.   if [ ! -z "$1" ]; then
  7.     for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do
  8.       if [ -x "$i/$1" -a ! -d "$i/$1" ]; then
  9.         echo "$i/$1"
  10.         break;
  11.       fi
  12.     done
  13.   fi
  14. }
  15.  
  16. # checks for the original mozilla start script(s) 
  17. # and restrict the "-remote" semantics to those.
  18. run_mozilla() {
  19.   if file "$1" | grep "script" > /dev/null && grep "NPL" "$1" > /dev/null; then
  20.     "$1" -remote 'ping()' 2>/dev/null >/dev/null
  21.     if [ $? -eq 2 ]; then
  22.       "$1" "$2" &
  23.     else
  24.       "$1" -remote "openURL($2, new-window)" &
  25.     fi
  26.   else
  27.     "$1" "$2" &
  28.   fi
  29. }
  30.  
  31. # checks the browser value for a %s as defined in 
  32. # http://www.catb.org/~esr/BROWSER/index.html
  33. run_browser() {
  34.   echo "$1|$2" | awk '
  35. {
  36.     FS="|";
  37.     $syscmd="";
  38.     if (index($1,"%s") > 0) {
  39.         $syscmd=sprintf($1,$2);
  40.     } else {
  41.         $syscmd=sprintf("%s \"%s\"",$1,$2);
  42.     }
  43.     system($syscmd " &");
  44. }' > /dev/null
  45. }
  46.  
  47. # restore search path for dynamic loader to system defaults to
  48. # avoid version clashes of mozilla libraries shipped with OOo
  49. case `uname -s` in
  50.   AIX)
  51.     LIBPATH=$SYSTEM_LIBPATH
  52.     if [ -z "$LIBPATH" ]; then
  53.         unset LIBPATH SYSTEM_LIBPATH
  54.     else
  55.         export LIBPATH; unset SYSTEM_LIBPATH
  56.     fi
  57.     ;;
  58.  
  59.   Darwin)
  60.     DYLD_LIBRARY_PATH=$SYSTEM_DYLD_LIBRARY_PATH
  61.     if [ -z "$DYLD_LIBRARY_PATH" ]; then
  62.         unset DYLD_LIBRARY_PATH SYSTEM_DYLD_LIBRARY_PATH
  63.     else
  64.         export DYLD_LIBRARY_PATH; unset SYSTEM_DYLD_LIBRARY_PATH
  65.     fi
  66.     ;;
  67.  
  68.   HP-UX)
  69.     SHLIB_PATH=$SYSTEM_SHLIB_PATH
  70.     if [ -z "$SHLIB_PATH" ]; then
  71.         unset SHLIB_PATH SYSTEM_SHLIB_PATH
  72.     else
  73.         export SHLIB_PATH; unset SYSTEM_SHLIB_PATH
  74.     fi
  75.     ;;
  76.  
  77.   IRIX*)
  78.     LD_LIBRARYN32_PATH=$SYSTEM_LD_LIBRARYN32_PATH
  79.     if [ -z "$LD_LIBRARYN32_PATH" ]; then
  80.         unset LD_LIBRARYN32_PATH SYSTEM_LD_LIBRARYN32_PATH
  81.     else
  82.         export LD_LIBRARYN32_PATH; unset $SYSTEM_LD_LIBRARYN32_PATH
  83.     fi
  84.     ;;
  85.  
  86.   *)
  87.     LD_LIBRARY_PATH=$SYSTEM_LD_LIBRARY_PATH
  88.     if [ -z "$LD_LIBRARY_PATH" ]; then
  89.         unset LD_LIBRARY_PATH SYSTEM_LD_LIBRARY_PATH
  90.     else
  91.         export LD_LIBRARY_PATH; unset SYSTEM_LD_LIBRARY_PATH
  92.     fi
  93.     ;;
  94. esac
  95.  
  96. # special handling for mailto: uris
  97. if echo $1 | grep '^mailto:' > /dev/null; then
  98.   # check $MAILER variable
  99.   if [ ! -z "$MAILER" ]; then
  100.     $MAILER "$1" &
  101.     exit 0
  102.   else
  103.     # mozilla derivates may need -remote semantics
  104.     for i in thunderbird mozilla netscape; do
  105.       mailer=`which $i`
  106.       if [ ! -z "$mailer" ]; then
  107.         run_mozilla "$mailer" "$1"
  108.         exit 0
  109.       fi
  110.     done
  111.     # handle all non mozilla mail clients below
  112.     # ..
  113.   fi
  114. else
  115.   # check $BROWSER variable
  116.   if [ ! -z "$BROWSER" ]; then
  117.     $BROWSER "$1" &
  118.     exit 0
  119.   elif [ -x /usr/bin/sensible-browser ]; then
  120.     sensible-browser "$1"
  121.   else
  122.     # mozilla derivates may need -remote semantics
  123.     for i in firefox mozilla netscape; do
  124.       browser=`which $i`
  125.       if [ ! -z "$browser" ]; then
  126.         run_mozilla "$browser" "$1"
  127.         exit 0
  128.       fi
  129.     done
  130.     # handle all non mozilla browers below
  131.     # ..
  132.   fi
  133. fi
  134. exit 1
  135.